package com.feitubc.tools.fileimport.demo.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.feitubc.tools.fileimport.demo.domain.ImportOperateInfo;
import com.feitubc.tools.fileimport.demo.domain.ImportOperateInfoQuery;

/**
 * ImportOperateInfoDAO实现类<br/>
 * 对'导入数据操作日志表; InnoDB free: 10240 kB'表进行基本的操作
 * 
 * @author zhc
 * 
 */
@SuppressWarnings("rawtypes")
@Repository
public class ImportOperateInfoDaoImpl extends BaseDao implements ImportOperateInfoDao {
    /** namespace */
    private final String namespace = ImportOperateInfoDaoImpl.class.getName();
    
    /**
     * {@inheritDoc}
     */
    @SuppressWarnings("unchecked")
    public List<ImportOperateInfo> queryImportOperateInfoList(ImportOperateInfoQuery queryBean) {
        return (List<ImportOperateInfo>) queryForList(namespace +".queryImportOperateInfoList", queryBean);
    }

    /**
     * {@inheritDoc}
     */
    @SuppressWarnings("unchecked")
    public boolean insert(ImportOperateInfo importOperateInfo) {
        return insert(namespace +".insert", importOperateInfo);
    }

    /**
     * {@inheritDoc}
     */
    @SuppressWarnings("unchecked")
    public boolean update(ImportOperateInfo importOperateInfo) {
        return update(namespace +".update", importOperateInfo);
    }

    /**
     * {@inheritDoc}
     */
    @SuppressWarnings("unchecked")
    public int queryImportOperateInfoCount(ImportOperateInfoQuery queryBean) {
        return (Integer) queryForObject(namespace +".queryImportOperateInfoCount", queryBean);
    }

    /**
     * {@inheritDoc}
     */
    @SuppressWarnings("unchecked")
    public List<ImportOperateInfo> queryImportOperateInfoListWithPage(ImportOperateInfoQuery queryBean) {
        return (List<ImportOperateInfo>) queryForList(namespace +".queryImportOperateInfoListWithPage", queryBean);
    }

    /**
     * {@inheritDoc}
     */
    @SuppressWarnings("unchecked")
    public boolean delete(ImportOperateInfo configuration) {
        return delete(namespace +".delete", configuration);
    }

    /**
     * {@inheritDoc}
     */
    @SuppressWarnings("unchecked")
    public ImportOperateInfo getImportOperateInfoById(Long id) {
        return (ImportOperateInfo) queryForObject(namespace +".getImportOperateInfoById", id);
    } 
    
    /**
     * {@inheritDoc}
     */
    @SuppressWarnings("unchecked")
    public boolean exist(ImportOperateInfo importOperateInfo) {
        int count = (Integer) queryForObject(namespace +".exist", importOperateInfo);
        return count > 0;
    }
}
